// bug secrettest49
#include <bits/stdc++.h>

using namespace std;

const int N = 110;
const double eps = 1e-7;

int n, D, L;
int x[N], y[N];

struct Point {
  double x, y;
};

Point p[N];

double cross(const Point &A, const Point &B, const Point &C) {
  return (B.x - A.x) * (C.y - A.y) - (B.y - A.y) * (C.x - A.x);
}

double polygonArea(int n, Point p[]) {
  double area = 0.0;
  Point tmp;
  tmp.x = tmp.y = 0;
  for (int i = 0; i < n - 1; ++i) {
    area += cross(tmp, p[i], p[i + 1]);
  }
  area += cross(tmp, p[n - 1], p[0]);
  area = area / 2.0;
  return abs(area);
}

int main() {
  while (~scanf("%d", &n)) {
    scanf("%d%d", &D, &L);
    for (int i = 0; i < n; ++i) {
      scanf("%d%d", x + i, y + i);
    }
    L *= 1000;
    for (int i = 0; i < n; ++i) {
      p[i].x = x[i];
      p[i].y = y[i];
    }
    double l = 0, h = 0;
    for (int i = 0; i < n; ++i) {
      h = max(h, (double)y[i]);
    }
    double t = polygonArea(n, p);
    if (L > t * D - eps) {
      printf("%.2f\n", h);
      continue;
    }
    else if (L == 0) {
      printf("0.00\n");
      continue;
    }
    for (int j = 0; j < 30; ++j) {
      double mid = (l + h) / 2;
      double xl, xr;
      int k = 0;
      for (int i = 0; i < n; ++i) {
        y[i], y[(i + 1) % n];
        if (y[i] < mid - eps) {
          p[k].x = x[i];
          p[k].y = y[i];
          k++;
        }
        if (y[i] < mid - eps && y[(i + 1) % n] > mid - eps) {
          p[k].x = (double)(x[i] - x[(i + 1) % n]) / (y[i] - y[(i + 1) % n]) * (mid - y[i]) + x[i];
          p[k].y = mid;
          k++;
        }
        if (y[i] > mid - eps && y[(i + 1) % n] < mid - eps) {
          p[k].x = (double)(x[i] - x[(i + 1) % n]) / (y[i] - y[(i + 1) % n]) * (mid - y[i]) + x[i];
          p[k].y = mid;
          k++;
        }
      }
      double tmp = polygonArea(k, p);
      if (tmp * D + eps < L) {
        l = mid;
      }
      else if (L > tmp * D - eps) {
        l = mid;
        break;
      }
      else {
        h = mid;
      }
    }
    printf("%.2f\n", l);
  }
  return 0;
}